import java.util.Arrays;

/**
 * 数组拷贝。
 */

public class ArrayCopy {
    final static float PI = 3.14f;


    static double getResult () {
        return PI *2;
    }



    public static void main(String[] args) {
        // 这个方法通常用来进行增加数组的大小；
        int[] arr = {2, 3, 4, 5, 6};
        int[] newArr = Arrays.copyOf(arr, 2 * arr.length);

        System.out.println(newArr.length);
        System.out.println(newArr[9]);
        System.out.println(newArr[3]);


        // 数组如果大小超出， 可以使用这个方法来进行数组的扩增。
        // java数组的大小是固定的， 不是可变的， 在内存里面开辟的大小设定后，就固定了。


        // 输出args
        // args就是，java-- 命令行里面的运行参数。 和js中的arguments中的参数列表一样。
        System.out.println(args.length);


        // 二维数组
        // 初始化的时候， 使用的是， {}, 不用必须[].
        int [][] matrix = {
                {1, 2, 3, 4},
                {4, 5, 6, 7}
        };
        // copyOf 也是改变的是，行数。
//        System.out.println(Arrays.copyOf(matrix,12));

//        打印二维数组的方法；
        System.out.println(Arrays.deepToString(matrix));
//        打印数组， 是Array对象的方法。
        // 否则打印的是数组在内存中的存储地址。
        System.out.println(Arrays.toString(arr));

        for (int item:arr) {
            // \t表示table键、\n表示new line换行。
            System.out.print(item+"\t");
            System.out.println();
        }

       double result =  getResult();
        System.out.println(result);
    }
}
